#ifndef DIG_NON_LOCK_QUEUE_H 
#define DIG_NON_LOCK_QUEUE_H

typedef struct one_read_one_write_queue orow_queue_t;

orow_queue_t *
orow_queue_create();

void
orow_queue_delete(orow_queue_t *queue);

void
orow_queue_enqueue(orow_queue_t *queue, void *data);

void *
orow_queue_dequeue(orow_queue_t *queue);

int
orow_queue_is_empty(const orow_queue_t *queue);

#endif
